// Package sysin
// @Link  https://github.com/bufanyun/hotgo
// @Copyright  Copyright (c) 2024 HotGo CLI
// @Author  Ms <133814250@qq.com>
// @License  https://github.com/bufanyun/hotgo/blob/master/LICENSE
// @AutoGenerate Version 2.13.1
package sysin

import (
	"context"
	"hotgo/internal/model/entity"
	"hotgo/internal/model/input/form"
)

// StockZhASpotEmUpdateFields 修改每日股票数据-东财1字段过滤
type StockZhASpotEmUpdateFields struct {
	Name                 string  `json:"name"                 dc:"name"`
	LastPrice            float64 `json:"lastPrice"            dc:"last_price"`
	ChangePercent        float64 `json:"changePercent"        dc:"change_percent"`
	ChangeAmount         float64 `json:"changeAmount"         dc:"change_amount"`
	Volume               float64 `json:"volume"               dc:"volume"`
	Turnover             float64 `json:"turnover"             dc:"turnover"`
	Amplitude            float64 `json:"amplitude"            dc:"amplitude"`
	High                 float64 `json:"high"                 dc:"high"`
	Low                  float64 `json:"low"                  dc:"low"`
	Open                 float64 `json:"open"                 dc:"open"`
	Closed               float64 `json:"closed"               dc:"closed"`
	VolumeRatio          float64 `json:"volumeRatio"          dc:"volume_ratio"`
	TurnoverRate         float64 `json:"turnoverRate"         dc:"turnover_rate"`
	PeRatio              float64 `json:"peRatio"              dc:"pe_ratio"`
	PbRatio              float64 `json:"pbRatio"              dc:"pb_ratio"`
	MarketCap            float64 `json:"marketCap"            dc:"market_cap"`
	CirculatingMarketCap float64 `json:"circulatingMarketCap" dc:"circulating_market_cap"`
	RiseSpeed            float64 `json:"riseSpeed"            dc:"rise_speed"`
	Change5Min           float64 `json:"change5Min"           dc:"change_5min"`
	ChangeErcent60Day    float64 `json:"changeErcent60Day"    dc:"change_ercent_60day"`
	YtdChangePercent     float64 `json:"ytdChangePercent"     dc:"ytd_change_percent"`
	Date                 string  `json:"date"                 dc:"date"`
	Inflow               float64 `json:"inflow"               dc:"流入"`
	Outflow              float64 `json:"outflow"              dc:"流出"`
	NetInflow            float64 `json:"netInflow"            dc:"净流入"`
}

// StockZhASpotEmInsertFields 新增每日股票数据-东财1字段过滤
type StockZhASpotEmInsertFields struct {
	Name                 string  `json:"name"                 dc:"name"`
	LastPrice            float64 `json:"lastPrice"            dc:"last_price"`
	ChangePercent        float64 `json:"changePercent"        dc:"change_percent"`
	ChangeAmount         float64 `json:"changeAmount"         dc:"change_amount"`
	Volume               float64 `json:"volume"               dc:"volume"`
	Turnover             float64 `json:"turnover"             dc:"turnover"`
	Amplitude            float64 `json:"amplitude"            dc:"amplitude"`
	High                 float64 `json:"high"                 dc:"high"`
	Low                  float64 `json:"low"                  dc:"low"`
	Open                 float64 `json:"open"                 dc:"open"`
	Closed               float64 `json:"closed"               dc:"closed"`
	VolumeRatio          float64 `json:"volumeRatio"          dc:"volume_ratio"`
	TurnoverRate         float64 `json:"turnoverRate"         dc:"turnover_rate"`
	PeRatio              float64 `json:"peRatio"              dc:"pe_ratio"`
	PbRatio              float64 `json:"pbRatio"              dc:"pb_ratio"`
	MarketCap            float64 `json:"marketCap"            dc:"market_cap"`
	CirculatingMarketCap float64 `json:"circulatingMarketCap" dc:"circulating_market_cap"`
	RiseSpeed            float64 `json:"riseSpeed"            dc:"rise_speed"`
	Change5Min           float64 `json:"change5Min"           dc:"change_5min"`
	ChangeErcent60Day    float64 `json:"changeErcent60Day"    dc:"change_ercent_60day"`
	YtdChangePercent     float64 `json:"ytdChangePercent"     dc:"ytd_change_percent"`
	Date                 string  `json:"date"                 dc:"date"`
	Inflow               float64 `json:"inflow"               dc:"流入"`
	Outflow              float64 `json:"outflow"              dc:"流出"`
	NetInflow            float64 `json:"netInflow"            dc:"净流入"`
}

// StockZhASpotEmEditInp 修改/新增每日股票数据-东财1
type StockZhASpotEmEditInp struct {
	entity.StockZhASpotEm
}

func (in *StockZhASpotEmEditInp) Filter(ctx context.Context) (err error) {

	return
}

type StockZhASpotEmEditModel struct{}

// StockZhASpotEmDeleteInp 删除每日股票数据-东财1
type StockZhASpotEmDeleteInp struct {
	Code interface{} `json:"code" v:"required#code不能为空" dc:"code"`
}

func (in *StockZhASpotEmDeleteInp) Filter(ctx context.Context) (err error) {
	return
}

type StockZhASpotEmDeleteModel struct{}

// StockZhASpotEmViewInp 获取指定每日股票数据-东财1信息
type StockZhASpotEmViewInp struct {
	Code string `json:"code" v:"required#code不能为空" dc:"code"`
}

func (in *StockZhASpotEmViewInp) Filter(ctx context.Context) (err error) {
	return
}

type StockZhASpotEmViewModel struct {
	entity.StockZhASpotEm
}

// StockZhASpotStatics 股票涨跌数量统计
type StockZhASpotStatics struct {
	ZfGt7    int `json:"zf_gt_7"`
	ZfBt57   int `json:"zf_bt_57"`
	ZfBt25   int `json:"zf_bt_25"`
	ZfBt02   int `json:"zf_bt_02"`
	ZfBt0N2  int `json:"zf_bt_0_n_2"`
	ZfBtN2N5 int `json:"zf_bt_n_2_n_5"`
	ZfBtN5N7 int `json:"zf_bt_n_5_n_7"`
	ZfLt7    int `json:"zf_lt_7"`
	ZfZero   int `json:"zf_zero"`
	ZtCount  int `json:"zt_count"`
	DtCount  int `json:"dt_count"`
}

// StockZhASpotEmListInp 获取每日股票数据统计
type StockZhASpotEmStaticInp struct {
}

// StockZhASpotEmListInp 获取每日股票数据-东财1列表
type StockZhASpotEmListInp struct {
	form.PageReq
	form.Sorters
	Code  string   `json:"code" dc:"code"`
	Codes []string `json:"codes" dc:"codes"`
}

func (in *StockZhASpotEmListInp) Filter(ctx context.Context) (err error) {
	return
}

type StockZhASpotEmListModel struct {
	Code                 string  `json:"code"                 dc:"code"`
	Name                 string  `json:"name"                 dc:"name"`
	LastPrice            float64 `json:"lastPrice"            dc:"last_price"`
	ChangePercent        float64 `json:"changePercent"        dc:"change_percent"`
	ChangeAmount         float64 `json:"changeAmount"         dc:"change_amount"`
	Volume               float64 `json:"volume"               dc:"volume"`
	Turnover             float64 `json:"turnover"             dc:"turnover"`
	Amplitude            float64 `json:"amplitude"            dc:"amplitude"`
	High                 float64 `json:"high"                 dc:"high"`
	Low                  float64 `json:"low"                  dc:"low"`
	Open                 float64 `json:"open"                 dc:"open"`
	Closed               float64 `json:"closed"               dc:"closed"`
	VolumeRatio          float64 `json:"volumeRatio"          dc:"volume_ratio"`
	TurnoverRate         float64 `json:"turnoverRate"         dc:"turnover_rate"`
	PeRatio              float64 `json:"peRatio"              dc:"pe_ratio"`
	PbRatio              float64 `json:"pbRatio"              dc:"pb_ratio"`
	MarketCap            float64 `json:"marketCap"            dc:"market_cap"`
	CirculatingMarketCap float64 `json:"circulatingMarketCap" dc:"circulating_market_cap"`
	RiseSpeed            float64 `json:"riseSpeed"            dc:"rise_speed"`
	Change5Min           float64 `json:"change5Min"           dc:"change_5min"`
	ChangeErcent60Day    float64 `json:"changeErcent60Day"    dc:"change_ercent_60day"`
	YtdChangePercent     float64 `json:"ytdChangePercent"     dc:"ytd_change_percent"`
	Date                 string  `json:"date"                 dc:"date"`
	Inflow               float64 `json:"inflow"               dc:"流入"`
	Outflow              float64 `json:"outflow"              dc:"流出"`
	NetInflow            float64 `json:"netInflow"            dc:"净流入"`
}

// StockZhASpotEmExportModel 导出每日股票数据-东财1
type StockZhASpotEmExportModel struct {
	Code                 string  `json:"code"                 dc:"code"`
	Name                 string  `json:"name"                 dc:"name"`
	LastPrice            float64 `json:"lastPrice"            dc:"last_price"`
	ChangePercent        float64 `json:"changePercent"        dc:"change_percent"`
	ChangeAmount         float64 `json:"changeAmount"         dc:"change_amount"`
	Volume               float64 `json:"volume"               dc:"volume"`
	Turnover             float64 `json:"turnover"             dc:"turnover"`
	Amplitude            float64 `json:"amplitude"            dc:"amplitude"`
	High                 float64 `json:"high"                 dc:"high"`
	Low                  float64 `json:"low"                  dc:"low"`
	Open                 float64 `json:"open"                 dc:"open"`
	Closed               float64 `json:"closed"               dc:"closed"`
	VolumeRatio          float64 `json:"volumeRatio"          dc:"volume_ratio"`
	TurnoverRate         float64 `json:"turnoverRate"         dc:"turnover_rate"`
	PeRatio              float64 `json:"peRatio"              dc:"pe_ratio"`
	PbRatio              float64 `json:"pbRatio"              dc:"pb_ratio"`
	MarketCap            float64 `json:"marketCap"            dc:"market_cap"`
	CirculatingMarketCap float64 `json:"circulatingMarketCap" dc:"circulating_market_cap"`
	RiseSpeed            float64 `json:"riseSpeed"            dc:"rise_speed"`
	Change5Min           float64 `json:"change5Min"           dc:"change_5min"`
	ChangeErcent60Day    float64 `json:"changeErcent60Day"    dc:"change_ercent_60day"`
	YtdChangePercent     float64 `json:"ytdChangePercent"     dc:"ytd_change_percent"`
	Date                 string  `json:"date"                 dc:"date"`
	Inflow               float64 `json:"inflow"               dc:"流入"`
	Outflow              float64 `json:"outflow"              dc:"流出"`
	NetInflow            float64 `json:"netInflow"            dc:"净流入"`
}
